package com.keyware.kd.service.itf.auditlog;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.keyware.kd.repository.entity.auditlog.AuditLog;
import com.keyware.kd.repository.entity.auditlog.AuditLogSnapshot;

public interface AuditLogService {
	int deleteByPrimaryKey(String id);
	int deleteAudit(List listId);
	List selectAudit(List listId);
    int insert(AuditLog record);
    
    AuditLog selectByPrimaryKey(String id);

    List<AuditLog> selectAll(String userId);
    /**
	 *@author 申鹏飞
	 *@title 归档日志
	 * @return
	 *@date 2016-07-01
	 */
	int insertAuditLogSnapshot(List auditLogSnapshot);
    /**
	 *@author 申鹏飞
	 *@title 查询安全审计员审计页面信息
	 * @return
	 *@date 2016-07-01
	 */
    List<AuditLog> safeAuditLog(String startDate,String endDate);
    /**
	 *@author 申鹏飞
	 *@title 查询安全保密员审计页面信息
	 * @return
	 *@date 2016-07-01
	 */
    List<AuditLog> safeSecretAuditLog(String startDate,String endDate);
    
    /**
	 *@author 申鹏飞
	 *@title 查询管理员审计页面信息
	 * @return
	 *@date 2016-07-01
	 */
    List<AuditLog> selectAdminLog(String startDate,String endDate);
    
    
    int updateByPrimaryKey(AuditLog record);
    /**
     * 
     *@author 申鹏飞
     *@title 插入日志
     *@param
     * @param logName 功能
     * @param logNameType 模块
     * @param comments 详情
     * @param request
     *
     *@date 20160623
     */
    public void insertLog(String logName,String logNameType,String comments,HttpServletRequest request);
	
    /**
  	 *@author 申鹏飞
  	 *@title 查询安全审计员审计页面信息
  	 * @return
  	 *@date 2016-07-01
  	 */
     List<AuditLogSnapshot> safeSecretAuditLogSnapshot();
	   /**
		 *@author 贺雷雷
		 *@title 查询Admin已归档信息
		 * @return
		 *@date 2016-07-01
		 */
	     List<AuditLogSnapshot> selectHistoryAdminLog(String startDate,String endDate);
	     /**
	 	 *@author 贺雷雷
	 	 *@title 查询Safesecret已归档信息
	 	 * @return
	 	 *@date 2016-07-01
	 	 */
	  	List<AuditLogSnapshot> selectHistorySafesecretLog(String startDate,String endDate);
	  	 /**
	 	 *@author 贺雷雷
	 	 *@title 查询Safeaudit已归档信息
	 	 * @return
	 	 *@date 2016-07-01
	 	 */
	  	List<AuditLogSnapshot> selectHistorySafeauditLog(String startDate,String endDate);
	  	/**
	  	 * 
	  	 * @Title: slectAuditLogSnapshotById
	  	 * @Description:通过ID查询归档表
	  	 * @param id
	  	 * @return
	  	 * @author 刘思亮
	  	 * @return int
	  	 */
	  	AuditLogSnapshot slectAuditLogSnapshotById(String id);
	  	/**
	     * @Title: selectAllLog
	     * @Description: 查询所有日期信息
	     * @param startDate
		 * @param endDate
	     * @return
	     * @author 雒乐
	     * @return List<AuditLog>
	     */
	    List<AuditLog> selectAllLog(String startDate,String endDate);

	    /**
	     * @Author: 韩丽霞
	     * @Title: selectUserLog
	     * @Description: 查询普通用户日志
	     * @Param: [startDate, endDate]
	     * @Return: java.util.List<com.keyware.kd.repository.entity.auditlog.AuditLog>
	     *
	     */
		List<AuditLog> selectUserLog(String startDate,String endDate);

		/**
		 * @Author: 韩丽霞
		 * @Title: selectHistoryUserLog
		 * @Description: 查询普通用户已归档信息
		 * @Param: []
		 * @Return: java.util.List<com.keyware.kd.repository.entity.auditlog.AuditLogSnapshot>
		 *
		 */
		List<AuditLogSnapshot> selectHistoryUserLog();
		/**
		 * @Author: 韩丽霞
		 * @Title: deleteAuditLog
		 * @Description: 删除6个月之前的日志信息
		 * @Param: []
		 * @Return: void
		 *
		 */
		void deleteAuditLog();

}
